使用 ASMX 和 WCF 服务示例

若要获取示例和示例的安装说明,请参见下文:

  • 在 Visual Studio“帮助”菜单上单击“示例”

    有关更多信息,请参见定位示例文件

  • 示例的最新版本和完整列表可以从 Visual Studio 2008 示例网站获取。

  • 还可以在计算机的硬盘上查找示例。默认情况下,示例和自述文件将复制到 \Program Files\Visual Studio 9\Samples\ 下的一个文件夹中。对于 Visual Studio 速成版,所有示例都位于 Internet 上。

运行此示例

  • 从 MSDN 网站上找到本示例,然后下载并打开该示例。

  • 按 F5。

演示

本示例包含两个示例(MagicEightBallASMX.sln 和 MagicEightBall.sln),用于演示 Visual Basic 中两种不同类型的服务。两个示例都使用服务返回对客户端应用程序所提问题的回答。若要获得最佳结果,请在不同的 Visual Basic 实例中打开这两个解决方案,从而比较这两种方法。

在两个解决方案中,都由文件 MagicEightBallService.vb 包含服务的代码。请注意每个模块顶部的属性。对于 ASMX 服务,WebServiceAttributeWebServiceBindingAttribute 属性用于将类标记为 ASMX Web 服务。WCF 服务包括一个 ServiceContractAttribute(定义为接口 IMagicEightBallService)、一个实现该服务的类以及 Web.config 文件中指定与该实现相关联的行为的项。

如果比较这两个解决方案的 Web.config 文件,您会发现这两个文件很相似,只不过 WCF 版本具有一个附加的 system.ServiceModel 节。这一节除了标识服务的行为以外,还标识了用于服务的终结点和绑定。

两个 MagicEightBallClient 应用程序也很相似。ASMX 示例具有一个对 MagicEightBallSoapClient 的引用;而 WCF 示例则引用 MagicEightBallServiceClient。如果比较这两个客户端应用程序的 App.config 文件,您会注意到两个文件都包含一个 system.ServiceModel 节。ASMX 版本使用一个 basicHttpBinding 连接到 .asmx 终结点;而 WCF 版本则使用一个 wsHttpBinding 连接到 .wcf 终结点。